package com.burgeon.backend.SHOPBACKEND.service;

import com.burgeon.backend.SHOPBACKEND.entity.*;
import com.burgeon.backend.SHOPBACKEND.service.ex.ErrorDataException;
import com.burgeon.backend.service.ex.UploadException;
import org.springframework.web.multipart.MultipartFile;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public interface BackendGoodsService {

    String uploadProductVideo(MultipartFile video,String account) throws ErrorDataException;

    void upGoodsStateAll(String[] ids) throws ErrorDataException;

    void cancelPackageMailed(String gids,String account);

    List<Goods> getExemptionMailList(String account);

    void freeShipping(String str,String account) throws ErrorDataException;

    void changeAllLabel(String[] gids,String lable) throws ErrorDataException;

    HashMap findGoodsDataByClass(String name,String account);

    void syncAll(String type,String message,String message1,String account) throws ErrorDataException;

    Goods findGoodsDataByCode(String code,String account);

    List<Classification> getGoodsCacheByUse(String account,String use);

    HashMap getGoodsById(String id);

    List<Classification> getGoodsCache(String account);

    void addGoodsCache(List<Classification> classification,String account) throws ErrorDataException;

    HashMap findGoodsByCode(String code,String account);

    void upGoodsState(String id,String state) throws ErrorDataException;

    void DeleteGoods(String id,String account);

    void UploadData(MultipartFile files[], MultipartFile[] file, MultipartFile mfile,MultipartFile attribute, String account, String id, int c,int d) throws UploadException;

    HashMap GetGoodsAll(int start, String account);

    HashMap GetProductalias(String id,String account);

    //************************************************
    void UpGoods(String data,MultipartFile[] files,
                 MultipartFile[] itemimg,
                 MultipartFile mfile,
                 MultipartFile attribute,
                 String account,String[] bid,String[] tid) throws ErrorDataException;

    ArrayList<Dimdef> GetDimdef(String account);

    ArrayList<Dimdef> GetSmallDimdef(String id, String account);

    String addGoods(String data, MultipartFile[] file,MultipartFile[] itemimg,MultipartFile mfile,MultipartFile attribute, String account) throws ErrorDataException;

    //根据大分类小分类查询商品
    HashMap QueryClassification(Integer start, String id, String value, String account);


    void changeAllType(String[] gids, String type);

    void changeAllActivity(String[] gids, String activityID,String activity);
}
